package com.smedi.ismedi.progress.api.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.web.bind.annotation.RequestParam;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(description = "进度计划 分页 请求")
public class ProgressPageRequest implements Serializable {
    /**
     * 页码
     */
    @ApiModelProperty(value = "页码")
    @NotNull(message = "页码不能为空")
    private Long offset;

    /**
     * 每页行数
     */
    @ApiModelProperty(value = "每页行数")
    @NotNull(message = "每页行数不能为空")
    private String queryKey;

    /**
     * 设备名称or车辆牌号or申报人（模糊）
     */
    @ApiModelProperty(value = "设备名称or车辆牌号or申报人（模糊）")
    private String nameOrLicenseOrApplicant;

    /**
     * 设备类型
     */
    @ApiModelProperty(value = "设备类型")
    private String equipmentType;

    /**
     * 所属单位/租赁单位id
     */
    @ApiModelProperty(value = "所属单位/租赁单位id")
    private Long affiliationId;

    /**
     * 负责人名称（模糊）
     */
    @ApiModelProperty(value = "负责人名称（模糊）")
    private String principalNameLike;

    /**
     * 设备状态
     */
    @ApiModelProperty(value = "设备状态")
    private String equipmentStatus;

    /**
     * 任务状态/审批状态（范围）
     */
    @ApiModelProperty(value = "任务状态/审批状态（范围）")
    private List<String> taskStatuses;

    /**
     * 申报人名称（模糊）
     */
    @ApiModelProperty(value = "申报人名称（模糊）")
    private String applicantNameLike;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "任务状态")
    private String taskStatus;

    /**
     * 每页行数（分页）
     */
    @ApiModelProperty(value = "每页行数（分页）")
    private long size;

    /**
     * 当前页（分页）
     */
    @ApiModelProperty(value = "当前页（分页）")
    private long current;
}
